package net.lab1024.sa.admin.module.business.picture.domain.form;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * 全景图添加 更新表单
 *
 * @Author 骆伟林
 * @Date 2025-10-22 17:09:49
 * @Copyright 软件需求工程第八组
 */

@Data
public class PictureUpdateForm {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "id 不能为空")
    private Long pitureId;

    @Schema(description = "地点id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "地点id 不能为空")
    private String addressId;

    @Schema(description = "全景图id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "全景图id 不能为空")
    private Long picture_id;

    @Schema(description = "地点名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "地点名称 不能为空")
    private String addressName;

    @Schema(description = "图片名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "图片名称 不能为空")
    private String pictureName;

    @Schema(description = "图片地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "图片地址 不能为空")
    private String pictureUrl;

    @Schema(description = "全景图拍摄日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "全景图拍摄日期 不能为空")
    private LocalDateTime pictureTime;

    @Schema(description = "无人机海拔高度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "无人机海拔高度 不能为空")
    private Double pictureAlt;

    @Schema(description = "图片高度（像素）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "图片高度 不能为空")
    private Long pictureHeight;

    @Schema(description = "图片宽度（像素）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "图片宽度 不能为空")
    private Long pictureWidth;

}